Scroll to navigation

SKB_UNLINK(9) Fonctions du noyau Linux SKB_UNLINK(9)

NOM

__skb_unlink, skb_unlink - Retirer un sk_buff de sa liste

SYNOPSIS

#include <linux/skbuff.h>

void __skb_unlink(struct sk_buff *skb, struct sk_buff_head *list);

DESCRIPTION

La fonction skb_unlink est une version sécurisée de __skb_unlink. __skb_unlink enlève skb de son sk_buff_head, décrémente le pointeur qlen de liste, et retire proprement le sk_buff de sa file. Cette fonction devrait toujours être utilisée plutôt que de le faire "à la main" car elle le fait de manière standard, proprement (les interruptions sont momentanément désactivées) (voir NOTES cidessous). La plupart des utilisateurs n'appelleront pas directement __skb_unlink car elle nécessite deux arguments et ne désactive pas les interruptions. skb_unlink détermine la liste depuis laquelle skb doit être enlevée et désactive les interruptions.

VALEUR RENVOYÉE

Aucune

NOTES

Il est important de constater que les différences entre __skb_unlink et skb_unlink, mais ausi entre les fonctions __skb_ et leur équivalent skb_. Les fonctions __skb_ ne sont pas atomiques (Ndt : non réentrantes) et devraient être utilisées après avoir désactivé les interruptions. Pour faciliter l'écriture des pilotes, les fonctions skb_ sont fournies ; elles désactivent et réactivent les interruptions de manière transparente en plus de réaliser la tâche demandée.

DISPONIBILITÉ

Linux 1.0+

VOIR AUSSI

intro(9), skb_dequeue(9), skb_insert(9), skb_queue_head(9), skb_queue_tail(9)

/usr/src/linux/net/core/skbuff.c /usr/src/linux/net/ipv4/af_inet.c /usr/src/linux/net/ipv4/ip_output.c /usr/src/linux/net/ipv4/tcp.c

AUTEUR

Cyrus Durgin <cider@speakeasy.org>

TRADUCTION

Thierry Vignaud <tvignaud@mandrakesoft.com>, 1999

19 mars 1999 Linux